package com.ruoyi.common.core.domain.entity;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 行政区划表
 *
 * @author ruoyi
 */
@Data
@ApiModel("行政区划对象")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SysArea implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 行政区划code
     */
    @NotBlank(message = "行政区划code不能为空")
    @ApiModelProperty(value = "行政区划code")
    private String areaCode;
    /**
     * 父级code
     */
    @ApiModelProperty(value = "父级code")
    private String parentCode;
    /**
     * 父行政区划名称
     */
    @ApiModelProperty(value = "父行政区划名称")
    private String parentName;
    /**
     * 祖级code列表
     */
    @ApiModelProperty(value = "祖级code列表")
    private String ancestorCode;
    /**
     * 行政区划名称
     */
    @NotBlank(message = "行政区划名称不能为空")
    @ApiModelProperty(value = "行政区划名称")
    private String areaName;
    /**
     * 祖级name列表
     */
    @ApiModelProperty(value = "祖级name列表")
    private String ancestorName;
    /**
     * 显示顺序
     */
    @NotNull(message = "显示顺序不能为空")
    @ApiModelProperty(value = "显示顺序")
    private Integer orderNum;
    /**
     * 子行政区划
     */
    private List<SysArea> children = new ArrayList<>();
}
